package cn.iocoder.yudao.module.system.dal.dataobject.record;

import lombok.*;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 审核操作记录 DO
 *
 * @author 芋道源码
 */
@TableName("approval_record")
@KeySequence("approval_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ApprovalRecordDO {

    /**
     * 主键ID
     */
    @TableId
    private Integer id;
    /**
     * 申请表单ID（关联申请主表）
     */
    private Integer applicationId;
    /**
     * 当前节点编码（关联审核节点配置表）
     */
    private String currentNodeCode;
    /**
     * 操作人（当前操作的执行人账号）
     */
    private String operator;
    /**
     * 操作类型：0 SUBMIT=提交、1 AUDIT=审核、2 SELECT_AUDITOR=选择审核人
     */
    private String operationType;
    /**
     * 审核结果：0 PENDING=待审核、1 PASSED=审核通过、2 REJECTED=审核不通过（操作类型为AUDIT时必填）
     */
    private String auditResult;
    /**
     * 完成状态：0 待完成、1 COMPLETED=已完成
     */
    private String completeStatus;
    /**
     * 备注（审核不通过原因、选择审核人说明等）
     */
    private String remark;
    /**
     * 完成时间（状态变为已完成时填写）
     */
    private LocalDateTime completeTime;
    /**
     * 审核人（实际执行审核的人，操作类型为AUDIT时必填）
     */
    private String auditor;

    /**
     * 座机
     */
    private String mobile;


}
